package com.jhy.suixianglu.daima20230207;

/**
 * 用双指针的方式解决问题
 *
 * 快慢指针的主要思想就是 一个快指针 和一个慢指针
 * 快指针遍历整个元素
 * 慢指针指向的是适合元素的位置
 */
public class RemoveDuplicates2 {
    public static String removeDuplicates(String s) {
        char[] chars = s.toCharArray();
        // 定义快指针
        int slow = 0;
        // 定义慢指针
        int fast = 0;
        // 以快指针来作为控制的
        while(fast < s.length()){
            // 先赋值
            chars[slow] = chars[fast];
            if(slow > 0 && chars[slow] == chars[slow-1]){
                slow--;
            } else {
                slow++;
            }
            fast++;
        }
        return new String(chars,0,slow);
    }
}
